package com.frank.subject.application.dto;

import com.frank.subject.domain.entity.SubjectAnswerBo;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 题目信息表(SubjectInfo)实体类
 *
 * @author makejava
 * @since 2024-01-23 17:20:38
 */
@Data
public class SubjectInfoDto implements Serializable {

    /**
     * 主键
     */
    private Long id;

    /**
     * 题目名称
     */
    private String subjectName;

    /**
     * 题目难度
     */
    private Integer subjectDifficult;

    /**
     * 出题人名
     */
    private String settleName;

    /**
     * 题目类型 1单选 2多选 3判断 4简答
     */
    private Integer subjectType;

    /**
     * 题目分数
     */
    private Integer subjectScore;

    /**
     * 题目解析
     */
    private String subjectParse;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 修改人
     */
    private String updateBy;

    /**
     * 修改时间
     */
    private Date updateTime;

    private Integer isDeleted;

    /**
     * 题目的标签ID
     */
    private List<Integer> labelIdList;

    /**
     * 题目分类ID
     */
    private List<Integer> categoryIdList;

    /**
     * 答案选项
     */
    private List<SubjectAnswerBo> optionList;

    /**
     * 题目类型ID
     */
    private Long categoryId;

    /**
     * 题目标签ID
     */
    private Long labelId;


    private List<String> labelNames;

    /**
     * 题目答案
     */
    private String subjectAnswer;

    /**
     * 题目创建人 ID
     */
    private String createUserId;

    /**
     * 题目的创建人昵称
     */
    private String createUser;

    /**
     * 题目的创建人头像
     */
    private String createUserAvatar;

    /**
     * 题目的创建数量
     */
    private int subjectCount;

    /**
     * 题目是否被点赞
     */
    private Boolean liked;

    /**
     * 题目被点赞数量
     */
    private Integer likedCount;

    /**
     * 下一个题目ID
     */
    private Long nextSubjectId;

    /**
     * 上一个题目ID
     */
    private Long lastSubjectId;

    private static final long serialVersionUID = 1L;

}

